package com.bm.page;
import lombok.Data;
import java.util.List;

/**
 * 分页构造器
 * @param <T>
 */
@Data
public class PageBean<T> {
    private List<T> beanList;//当前页显示的数据，数据查询
    private int pageSize;//页大小,业务规则
    private int pageIndex;//当前页索引，用户请求
    private int totalRecord;//数据总条数，数据查询
    private int totalPage;//总页数,根据totalRecord和pageSize计算
    private int pageBegin;//显示的开始页码
    private int pageEnd;//显示的结束页码
    private String url; //在哪赋值：Servlet

    public PageBean() {
        super();
        // TODO Auto-generated constructor stub
    }

    public int getTotalPage() {
        //如何计算总页数:
        return (totalRecord%pageSize==0)?totalRecord/pageSize:totalRecord/pageSize+1;
    }

    //计算开始页和结束页
    public void setPageBeginAndPageEnd() {
        //总页数小于10
        if(getTotalPage()<10) {
            pageBegin=1;
            pageEnd=getTotalPage();
        }else {
            pageBegin=pageIndex-5;
            pageEnd=pageIndex+4;
            //上标越界
            if(pageBegin<1) {
                pageBegin=1;
                pageEnd=10;
            }
            //下标越界
            if(pageEnd>getTotalPage()) {
                pageBegin=getTotalPage()-9;
                pageEnd=getTotalPage();
            }
        }
    }
}
